import Vue from 'vue'
import App from './App.vue'
import center from "./center.js"

Vue.prototype.center = center;

const vm = new Vue({
  el: '#app',

  //渲染el结构的方法
  render: function(handle){//传入handle方法
    //handle()会获取App.vue里的<template></template>标签的内容
    return handle(App);
  }
  //ES6写法：render: h => h(App)
})

/*
组件之间的关系：
1、父子组件
2、非父子组件


传值方式：
1、父组件 --> 子组件
使用自定义属性，在父组件的子组件标签中添加自定义绑定属性  :data="value"
子组件用外部属性props接收  props: {"data":String}
访问data：this.data（外部属性不能修改，保证单项数据流）


2、子组件 --> 父组件
使用自定义事件，在父组件的子组件标签中添加自定义事件  @eventName="fn"
(自定义事件触发的函数不要加括号())
子组件用触发自定义事件传值  this.$emit("eventName",{childcomponentValue})
父组件的fn函数会接收到{childcomponentValue}


3、非父子组件传值
创建一个center.js输出一个vue实例
可以在需要传值的vue组件中引入：import center from "./center.js"
也可以在main.js中引入：import center from "./center.js"
再向Vue原型添加center：Vue.prototype.center = center;(以下的center就要改为this.center)
也可以直接在main.js中加Vue.prototype.center = new Vue();(以下的center就要改为this.center)

触发自定义事件来传入值：center.$emit("eventName",{passValue})
在created中监听事件来接收值：center.$on("eventName",fn)
fn函数写在methods中： fn(passValue){}
在beforeDestroy中移除事件监听： center.$off("eventName",fn)

*/